iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
Software Development

C++超級菜鳥也可以懂的物件導向攻略系列 第 7

Day07 - C++ function (函式\函數)

  • 分享至 

  • xImage
  •  

來複習一下C++的規則:需要告訴電腦這是什麼類別的資料。
跟Python和JS中最大的不同,除了variable要加前輟表示資料型態ing age;
,function跟parameter也需要。
這篇假設大家已經有基本觀念知道function是什麼。

關於C++ function是什麼及其用法,容我引用此詳盡的解說請點我

簡而言之,就是一種被點名到才會執行的code。
(main()裡面每行程式碼都會從上而下run過,而function獨立在main外面)
*

C++ function 規則

Day02資料型態所提到的,C++有不同的data type資料型態。

除了variable要加前輟表示資料型態,例如:ing age;
,function跟parameter也需要

function也是,所以要想一下輸入進去的值的data type是什麼,最後回傳的會是什麼data type。
如果有回傳值return value:

  • string function_name(string a ,string b)
  • int function_name(int a, int b)
  • double function_name(double a, int b),整數和小數運算可能會出現小數點,所以可以這樣用。
  • float function_name(float a, float b)
  • 依此類推.......

回傳值return type就是function輸出的東西

如果沒有回傳值return value,可以使用void:

  • void function_name()

關於回傳值、參數parameter是什麼明天會聊到。


如一開頭說過的,function需要被呼叫才會執行,C++中呼叫法跟JSㄧ樣:

int main(){
    function_name();
}

int範例

在C++中,假如想輸出數字,function_name之前也要加上想輸出的資料種類,想輸出數字就是加上int,如以下範例:

              
int number_sum(int a, int b){
    return a + b; // return = 5 + 7
}
int main(){
    number(5, 7);
}
return:12

void範例

如果想做一個cout << 到console的function也要用int嗎?還是用string呢?
都不是,要用void。

void call_hello(){
    std::cout << "Hello world.";
}
int main(){
    call_hello();
}

console顯示: Hello world.
這是指沒有return,是沒有“傳回數值”的意思。

注意:void並不是一種資料型態,因為他表示一種根本不存在的東西。

Reference: Geeksforgeeks, cplusplus, https://learn.microsoft.com/zh-tw/cpp/cpp/functions-cpp?view=msvc-170


上一篇
Day 06 - C++ 條件運算- 條件式if else
下一篇
Day08- C++ function函數 - 參數Parameter
系列文
C++超級菜鳥也可以懂的物件導向攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言